package com.school.sports.service;

import com.school.sports.entity.ExceptionRecord;
import java.util.List;

/**
 * 异常通知服务接口
 * 用于异常发生时的通知机制
 */
public interface ExceptionNotificationService {

    /**
     * 发送异常通知
     * @param exceptionRecord 异常记录
     * @return 通知结果
     */
    boolean sendExceptionNotification(ExceptionRecord exceptionRecord);

    /**
     * 发送严重异常通知
     * @param exceptionRecord 异常记录
     * @return 通知结果
     */
    boolean sendSevereExceptionNotification(ExceptionRecord exceptionRecord);

    /**
     * 发送异常处理通知
     * @param exceptionRecord 异常记录
     * @return 通知结果
     */
    boolean sendExceptionHandledNotification(ExceptionRecord exceptionRecord);

    /**
     * 发送异常统计报告
     * @param reportData 报告数据
     * @param reportType 报告类型
     * @return 通知结果
     */
    boolean sendExceptionStatisticsReport(Object reportData, String reportType);

    /**
     * 获取通知配置
     * @param notificationType 通知类型
     * @return 配置信息
     */
    Object getNotificationConfig(String notificationType);

    /**
     * 更新通知配置
     * @param notificationType 通知类型
     * @param config 配置信息
     * @return 更新结果
     */
    boolean updateNotificationConfig(String notificationType, Object config);

    /**
     * 测试通知功能
     * @param notificationType 通知类型
     * @return 测试结果
     */
    boolean testNotification(String notificationType);
}